#ifndef	_KEY_TREE_VIEW_H_
#define	_KEY_TREE_VIEW_H_

#include <gtkmm.h>

class	Key_Tree_View : public Gtk::TreeView
{
public:
	Key_Tree_View();
	virtual ~Key_Tree_View();
	sigc::signal<void, const Gtk::TreeModel::Path & , Gtk::TreeViewColumn *> edit_selected_;
	sigc::signal<void, const Gtk::TreeModel::iterator &> delete_key_selected_;
	sigc::signal<void, const Gtk::TreeModel::iterator &> key_whole_path_copy_;
	sigc::signal<void, const Gtk::TreeModel::iterator &> key_path_exported_;
	
protected:
	virtual bool 	on_button_release_event(GdkEventButton* event);
	virtual void	on_create_key();
	virtual void	on_expanded();
	virtual void	on_delete();
	virtual void	on_key_path_copy();
	virtual void 	on_key_path_exported();
	//virtual void	on_rename();

private:

	//Glib::RefPtr<Gtk::UIManager> popup_ui_manager_;
	//Glib::RefPtr<Gtk::ActionGroup> popup_action_group_;
	Gtk::Menu new_item_popup_menu_;
	Gtk::Menu popup_menu_;
};


#endif
